package com.sxy.demo.sxy;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

/**
 * 主体
 *
 * @author zhoucy
 * @date 2022-07-22 10:41:41
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("ri_p_principal")
public class PrincipalDO extends BaseEntity {
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 主体编号 区别于业务方的用户id，关联此表统一使用该字段
     */
    private String principalNo;
    /**
     * 开户类型：LIAN_LIAN-连连；TONG_LIAN-通联
     */
    private String openAccountType;
    /**
     * 平台编号 REN_MI：仁弥平台
     */
    private String platformNo;
    /**
     * 业务用户id
     */
    private String businessUserId;
    /**
     * 业务线 DL：盗铃，QQJ：全球家
     */
    private String businessLine;
    /**
     * 业务角色
     */
    private String businessUserRole;
    /**
     * 主体类型 USER：个人用户,COMPANY:企业
     */
    private String principalType;
    /**
     * 开户状态 NONE：未开户， OPENING：开户中， OPEN_SUCCESS：开户成功， OPEN_FAIL：开户失败
     */
    private String openAccountStatus;
    /**
     * 主体状态 ENABLE：启用，DISABLE：禁用
     */
    private String enableStatus;
    /**
     * 免密代扣协议状态（冗余字段 p_principal_agreement.agreement_status）
     */
    private String pwdFreeHoldAgreementStatus;
    /**
     * 免密提现协议状态（冗余字段 p_principal_agreement.agreement_status）
     */
    private String pwdFreeWithdrawAgreementStatus;
    /**
     * 开户失败错误信息
     */
    private String openAccountErrMsg;
    /**
     * 当前免密代扣本地协议号
     */
    private String currentPwdFreeHoldLocalAgreementNo;
    /**
     * 当前免密提现本地协议号
     */
    private String currentPwdFreeWithdrawLocalAgreementNo;
    /**
     * 手机
     */
    private String phone;
    /**
     * 手机状态
     * 没有手机号 NONE 等待验证 WAIT_VERIFY  绑定 BIND
     */
    private String phoneStatus;
    /**
     * ACCOUNT_BOOK	账簿
     * PERSONAL_PAYMENT_ACCOUNT	个人支付账户
     * ENTERPRISE_PAYMENT_ACCOUNT	企业支付账户
     */
    private String thirdLevel;
    /**
     * 暂停代码
     */
    private String pauseCode;
    /**
     * 暂停信息
     */
    private String pauseMsg;


    /**
     * @see principalNo
     */
    private PrincipalOrgInfoDO principalOrg;
    /**
     * @see principalNo
     */
    private List<PrincipalBankAccountDO> principalBankAccountDO;
}
